package org.ch04.test00.demo05;

import org.ch04.test00.demo05.animal.Dog;
import org.ch04.test00.demo05.breeder.MammalBreeder;

import java.util.HashSet;
import java.util.Set;

/**
 *
 * 使用多态、注解、泛型、反射相关知识模拟以下描述：
 * 动物园中有很多的动物，比如狮子、老虎、狗、鲨鱼、海豚等等。动物园安排饲养员进行喂食动物工作。
 * 但饲养员是有分工的，他们能负责不同种类动物的喂养，有些饲养员负责饲养哺乳动物，有些饲养员负责饲养海洋动物，有些负责饲养飞禽动物...动物被喂食时，动物要表现出不同吃的行为。
 * 另外，饲养员都要进行巡查工作，有一些动物可能睡眠不好，饲养员都会进行标记是否吃安眠药，并进行分发药物。
 * 最后，饲养员都要进行定期的体检工作，饲养员标记动物的健康情况，如果标记为差，则需要特别照看。
 *
 * 动物
 *     哺乳动物
 *         狮子、老虎、狗
 *     海洋动物
 *         鲨鱼、海豚
 *     飞禽动物
 *         鸽子、母鸡
 *
 *     吃()
 *     睡()
 *
 * 饲养员
 *     哺乳动物饲养员
 *     海洋动物饲养员
 *     飞禽动物饲养员
 *
 *
 *     喂养()
 *     巡查()
 *     体检()
 *
 *
 * 注解
 *     标记动物睡眠情况：健康、失眠
 *     标记动物健康情况：优、良、中、差
 * @author CSY
 * @date 2025 - 03 - 30
 */
public class MainTest {
    public static void main(String[] args) {
        Dog dog = new Dog();
        MammalBreeder mb = new MammalBreeder();
        mb.feed(dog);
        mb.patrol(Dog.class);
        mb.checkup(Dog.class);
    }
}
